A Calculus for Predicative Programming
نویسنده
چکیده
A calculus for developing programs from specifications written as predicates that describe the relationship between the initial and final state is proposed. Such specifications are well known from the specification language Z. All elements of a simple sequential programming notation are defined in terms of predicates. Hence programs form a subset of specifications. In particular, sequential composition is defined by ’demonic composition’, nondeterministic choice by ’demonic disjunction’, and iteration by fixed points. Laws are derived which allow proving equivalence and refinement of specifications and programs. The weakest precondition is expressed by sequential composition. The approach is compared to the predicative programming approach of E. Hehner and to other refinement calculi.
منابع مشابه
Integrating a Program Design Calculus and a Subset of UML
The predicative programming design calculus is integrated with an object-oriented method that uses a subset of the Unified Modelling Language. The integration is carried out so as to make the calculus and refinement techniques more applicable to the development of large-scale objectoriented software. The two methods are integrated using a meta-method for formal method integration based on heter...
متن کاملA Predicative Type-Theoretic Interpretation of Objects
Predicative type theories are powerful tools for giving foundational interpretations of programming languages. Due to their explicit inductive construction, predicative type theories have multiple mathematical models that provide precise de nitions of programming language features. However, not all features have predicative interpretations, and current interpretations of objects rely on impredi...
متن کاملThe Timed Predicative Calculus as a Framework for Comparative Semantics
Predicates are used in a variety of formal specification languages, though a predicate does not always mean the same thing in each approach. For example, the predicate false in Z means the same thing as true in the predicative calculus of Hehner. In this paper, we compare the specification languages Z, Morgan’s Refinement Calculus, and Parnas’s Limited Domain relations, using the timed predicat...
متن کاملSolving the Phantom Problem by Predicative Optimistic Concurrency Control
Database programming languages provide powerful telationai structures and operators based on, for exampb, first-order predicate calculus. Language Constructs for database programming, including a tmnsaction concepC requite thsrefof’e a predttteorbnted approach to con~m~lcy c~ntrool. A predicative optimistic concunency control is presented that attacks problems inhefwt in predtcate locking. Oniy...
متن کاملNoninterference in a predicative polymorphic calculus for access control
Polymorphic programming languages have been adapted for constructing distributed access control systems, where a program represents a proof of eligibility according to a given policy. As a security requirement, it is typically stated that the programs of such languages should satisfy noninterference. However, this property has not been defined and proven semantically. In this paper, we first pr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1992